home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 March / Macworld (1998-03) (Disk 1).dmg / Shareware World / Info / For Developers / GhostScript 5.10 / MacGS-510 / files / pdf_sec.ps < prev    next >
Text File  |  1997-09-30  |  2KB  |  59 lines

  1. %    Copyright (C) 1996, 1997 Aladdin Enterprises.  All rights reserved.
  2. % This file is part of Aladdin Ghostscript.
  3. % Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
  4. % or distributor accepts any responsibility for the consequences of using it,
  5. % or for whether it serves any particular purpose or works at all, unless he
  6. % or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
  7. % License (the "License") for full details.
  8. % Every copy of Aladdin Ghostscript must include a copy of the License,
  9. % normally in a plain ASCII text file named PUBLIC.  The License grants you
  10. % the right to copy, modify and redistribute Aladdin Ghostscript, but only
  11. % under certain conditions described in the License.  Among other things, the
  12. % License requires that the copyright notice and this notice be preserved on
  13. % all copies.
  14.  
  15. % pdf_sec.ps
  16. % Security hooks for PDF reader.
  17.  
  18. % This file contains the procedures that have to take encryption into
  19. % account when reading a PDF file.  There is no actual decryption code here,
  20. % because U.S. export control laws might prohibit making this file available
  21. % to anyone outside the U.S. if the code were included.  Instead, you can
  22. % get the real version of this file from
  23. %    http://www.ozemail.com.au/~geoffk/pdfencrypt/pdf_sec.ps
  24. % or, if the ~ character upsets your software,
  25. %    http://www.ozemail.com.au/%7Egeoffk/pdfencrypt/pdf_sec.ps
  26. % NOTE: these URLs are referenced in the error message below.
  27.  
  28. /.setlanguagelevel where { pop 2 .setlanguagelevel } if
  29. .currentglobal true .setglobal
  30. /pdfdict where { pop } { /pdfdict 100 dict def } ifelse
  31. pdfdict begin
  32.  
  33. % Process the encryption information in the Trailer.
  34. /pdf_process_Encrypt
  35.  { (\n\n) print
  36.    (    **** The PDF input file uses encryption and cannot be processed.\n) print
  37.    (    **** Please get and install the patch available from\n) print
  38.    (    ****     http://www.ozemail.com.au/~geoffk/pdfencrypt/pdf_sec.ps\n) print
  39.    (\n\n) print flush
  40.    /pdfopen cvx /invalidfileaccess signalerror
  41.  } bind def
  42.  
  43. % Run the code to resolve an object reference.
  44. /pdf_run_resolve
  45.  { PDFfile resolveopdict .pdfrun
  46.  } bind def
  47.  
  48. % Prefix a decryption filter to a stream if needed.
  49. % Stack: readdata? dict parms file/string filternames
  50. /pdf_decrypt_stream
  51.  {
  52.  } bind def
  53.  
  54. end            % pdfdict
  55. .setglobal
  56.